Software development is performed to control an object to be controlled using a computer. A mechanism meeting requirements is implemented by installing software in a computer. System design is performed by analyzing customer requirements, preparing a software requirements specification, and developing software. After confirming, by tests, that the software meets the requirements, the software is installed in a computer. Recently, as the scale of software has become large, much manpower has become necessary for testing.
Software is divided into many routines, and each of the routines is developed. Many routines may constitute a multi-layered hierarchical structure. In testing software, the following tests are executed in stages in sequence: a small-scale unit test, a medium-scale functional test, and a large-scale integration test.
A unit test is executed in a small-scale system in which a few routines are combined. For example, an in-out test checks whether a routine produces a correct output upon a correct input as designed.
A functional test is executed in a medium-scale system in which more routines are combined. For example, a check is made, by executing a routine, as to whether the routine behaves exactly as designed.
An integration test is executed in a large-scale system in which medium-scale systems are combined. For example, a joint test is executed.
In any test stage, a careful test is executed. When software functions in a manner that does not meet requirements, the source code of a program is corrected, and another test is executed to check whether the software meets the requirements.
Moreover, after software is determined as meeting requirements, the requirements may change. In such a case as well, the source code of a program is corrected, and another test is executed to check whether the software meets the requirements.
In the foregoing operations, hitherto, when creating or changing source code, a tester has found a related test in a test management tool, executed the test, and recorded the test results in the test management tool. A software developer has individually found the relation between a specific change in the source code and the test result and corrected the source code.
Thus, it has been difficult to improve the efficiency of software development.